"""
队列：Queue，
    先进先出：FIFO

empty()
full()
qsize()
put([是否阻塞，timetout])
    默认是True，队列为满，处于阻塞
            设置timeout，
        设置为False
get([是否阻塞，timeout])
    默认是True，队列为空，处于阻塞状态，
            设置timeout，给定的时间内，阻塞，超时立刻异常
        设置为False，列队为空，立刻异常，不等待
"""
from multiprocessing import Queue

# 1.创建队列
q = Queue(3)  # 创建队列，3最大容量，

q.put(1)
q.put(2)
q.put(3)

# q.put_nowait(2)
# q.put(2, block=False)  # 效果同  q.put_nowait(2)
print("队列是否为空：", q.empty())
print("队列是否为满：", q.full())
print("队列的大小：", q.qsize())

# q.close()

# q.put(4)
# q.put(4,timeout=2)
print(q.get())
# print(q.get())
# print(q.get())
print("队列是否为空：", q.empty())
# print(q.get())
# print(q.get(timeout=2))  # 同样时间一到 就该报错报错
# print(q.get(block=False))  # 无需等待 就该报错报错,加不加timeout 没影响
print(q.get_nowait())
print(q.get_nowait())
print(q.get_nowait())  # 效果同 print(q.get(block=False))
